package com.tencent.iov.cowin.befsale.clue.controller.clue.vo.response;

import com.alibaba.excel.annotation.ExcelProperty;
import com.tencent.iov.cowin.befsale.clue.value.utils.ClueStatusConverterUtils;
import com.tencent.iov.cowin.befsale.clue.value.utils.FollowSecondStatusConverterUtil;
import com.tencent.iov.cowin.befsale.clue.value.utils.FriendStatusConverterUtil;
import com.software.boot.common.model.rest.BaseResponse;
import com.tencent.iov.cowin.befsale.clue.value.enums.ClueStatsEnum;
import com.tencent.iov.cowin.befsale.clue.value.enums.FollowRecordStatusEnum;
import com.tencent.iov.cowin.befsale.clue.value.enums.FriendStatusEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;

/**
 * _Response层
 *
 * @author xiamu
 * @version 1.0
 * @created 2022-01-25 14:53:43
 */
@Data
public class ClueExportResponse implements BaseResponse {

    @ApiModelProperty(value = "线索ID")
    @ExcelProperty(value = "线索ID", index = 0)
    private Long clueId;

    @ApiModelProperty("客户姓名")
    @ExcelProperty(value = "客户姓名", index = 1)
    private String name;

    @ApiModelProperty("手机")
    @ExcelProperty(value = "手机", index = 2)
    private String phone;

    @ApiModelProperty("渠道")
    @ExcelProperty(value = "渠道", index = 3)
    private String sourceThird;

    @ExcelProperty(value = "活动", index = 4)
    @ApiModelProperty("活动code")
    private String sourceActivityId;

    @ApiModelProperty("意向车系-意向车型")
    @ExcelProperty(value = "意向车系-意向车型", index = 5)
    private String vehInfo;

    @ApiModelProperty("意向等级")
    @ExcelProperty(value = "意向等级", index = 6)
    private String intentionGrade;

    @ApiModelProperty(value = "线索创建时间", example = "2022-03-28T13:46:56.711Z")
    @ExcelProperty(value = "线索创建时间", index = 7)
    private Date clueCreatedTime;

    @ApiModelProperty(value = "线索下发经销商时间", example = "2022-03-28T13:46:56.711Z")
    @ExcelProperty(value = "线索下发时间", index = 8)
    private Date cluePlanTime;

    @ApiModelProperty(value = "上次跟进时间", example = "2022-03-28T13:46:56.711Z")
    @ExcelProperty(value = "上次跟进时间", index = 9)
    private Date followTime;

    @ApiModelProperty(value = "计划跟进时间")
    @ExcelProperty(value = "计划跟进时间", index = 10)
    private Date planFollowTime;

    @ApiModelProperty(value = "实销时间")
    @ExcelProperty(value = "实销时间", index = 11)
    private Date deliveryCreatedTime;

    @ApiModelProperty(value = "计划跟进内容")
    @ExcelProperty(value = "计划跟进内容", index = 12)
    private String planFollowContent;

    @ApiModelProperty(value = "经销商名称")
    @ExcelProperty(value = "经销商", index = 13)
    private String dealerName;

    @ApiModelProperty(value = "区域名称")
    @ExcelProperty(value = "大区", index = 14)
    private String sectorName;

    /**
     * @see FriendStatusEnum
     */
    @ApiModelProperty(value = "好友状态")
    @ExcelProperty(value = "好友状态", index = 15, converter = FriendStatusConverterUtil.class)
    private Integer friendStatus;

    @ApiModelProperty(value = "已跟进次数")
    @ExcelProperty(value = "已跟进次数", index = 16)
    private Long followNum;

    /**
     * @see ClueStatsEnum
     */
    @ApiModelProperty(value = "线索状态")
    @ExcelProperty(value = "线索状态", index = 17, converter = ClueStatusConverterUtils.class)
    private Integer clueStatus;

    @ApiModelProperty("跟进历史的跟进时间")
    @ExcelProperty(value = "每次跟进时间", index = 18)
    private Date operateTime;

    /**
     * @see FollowRecordStatusEnum
     */
    @ApiModelProperty("跟进内容-对应分类2")
    @ExcelProperty(value = "每次跟进内容", index = 19, converter = FollowSecondStatusConverterUtil.class)
    private Integer secondStatus;

    @ApiModelProperty("内容清单")
    @ExcelProperty(value = "内容清单", index = 20)
    private String followDetail;

    @ApiModelProperty("跟进顾问")
    @ExcelProperty(value = "跟进顾问", index = 21)
    private String followEmpName;
}